package com.hwtx.form.domain.vo;

import com.hwtx.form.domain.def.FormConfigExt;
import com.hwtx.form.util.FormUtil;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author baomidou
 * @since 2024-07-17
 */
@Getter
@Setter
@ToString(of = {"field", "name"})
public class FormConfigQueryVo implements Serializable {
    /**
     * 序号
     */
    private int num;
    /**
     * 主键
     */
    private Long id;
    /**
     * 字段描述
     */
    private String description;
    /**
     * 查询项是否显示
     */
    private Byte isQueryShow;
    /**
     * 列表是否显示
     */
    private Byte isListShow;
    /**
     * 是否列表被查询
     */
    private Byte isListQuery;
    /**
     * 列表是否排序（1：是，0：否）
     */
    private Byte isSort;
    /**
     * 是否唯一
     */
    private Byte isUnique;
    /**
     * 表名
     */
    private String tableName;
    /**
     * 控件类型
     */
    private Integer queryController;
    /**
     * 表单ID
     */
    private Long formId;
    /**
     * 表单字段是否显示
     */
    private Byte isFormShow;
    /**
     * 是否必填
     */
    private Byte isRequired;
    /*
     * 表单字段是否可编辑
     */
    private Byte isFormEditable;
    /**
     * 表单控件类型
     */
    private Integer formController;
    /**
     * 列表控件类型
     */
    private Integer listController;
    /**
     * 字段名
     */
    private String name;
    /**
     * 字段
     */
    private String field;
    /**
     * 扩展字段
     */
    private String ext;

    public FormConfigExt ext() {
        return FormUtil.getFormConfigExt(ext);
    }
}
